package com.dy.lock.screen.component;

import java.util.List;

import com.dy.lock.screen.scoket.Head;
import com.dy.lock.screen.vo.UserVo;

/**
 * 前台用户信息组件
 * 
 * @author java
 * 
 */
public interface UserInfoComponent {

	/**
	 * 获取验证码
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public UserVo getAuthCode(String body, Head head);

	/**
	 * 校验验证码
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public UserVo checkAuthCode(String body, Head head);

	/**
	 * 用户完成注册
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public UserVo register(String body, Head head);

	/**
	 * 忘记密码
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public UserVo forgetPassword(String body, Head head);

	/**
	 * 修改用户信息
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public boolean updateAccount(String body, Head head);

	/**
	 * 获取用户信息
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public UserVo getAccount(String body, Head head);

	/**
	 * 用户登录
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public UserVo login(String body, Head head);

	/**
	 * 修改密码
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public UserVo updatePwd(String body, Head head);

	/**
	 * 校验用户合法性
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public boolean checkUser(String body, Head head);

	/**
	 * 上传clientid
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public UserVo uploadCilentId(String body, Head head);

	/**
	 * 分页查询
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<UserVo> list(String body, Head head);

	/**
	 * 获取个人用户信息
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public UserVo getPersonalInfo(String body, Head head);

	/**
	 * 用户手机号码,查询对应用户信息
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<UserVo> matchMobiles(String body, Head head);

	/**
	 * 搜索所有用户
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<UserVo> search(String body, Head head);

	/**
	 * 获取粉丝数量前100的用户信息
	 * 
	 * @param body
	 * @param head
	 * @return
	 */
	public List<UserVo> getFansOfOnhundredUser(String body, Head head);
}
